我最近更新了我的capistranogem到版本3.1.0,从那时起capproductiondeploy顺利通过,但目标deploy:restart没有被调用。我的服务器部署在AmazonEC2上的Ubuntu12.10上。为什么会这样? 最佳答案 Capistrano3默认不再运行该任务,因为许多应用服务器不需要它。将此添加到您的config/deploy.rb:after'deploy:publishing','deploy:restart'来自releasenotes:Breakingchanges:deploy:resta
尝试将Rails5应用程序部署到heroku时,出现以下错误,当它到达Running:rakeassets:precompile时:remote:ExecJS::ProgramError:SyntaxError:Unexpectedtoken:name(autoRegisterNamespace)(line:14767,col:7,pos:457487)remote:Errorremote:atnewJS_Parse_Error(:3623:11948)remote:atjs_error(:3623:12167)remote:atcroak(:3623:21858)remote:att
我们正在使用EngineYardCloud部署我们的RubyonRails应用程序。我们正在运行Railsv2.3.3。EngineYardCloud以类似于Capistrano的方式部署到AWS实例。每次部署后,我们都会遇到InvalidAuthenticityToken错误。具体来说,任何以前访问过我们的应用程序然后在部署后访问并尝试提交表单的用户都会收到无效的真实性token错误。此错误一直存在,直到他们为网站重置cookie。在他们重置cookie后,该网站按预期运行,没有错误。我们正在使用ActiveRecord的session存储并将session保存到数据库中。这是我们看
我想知道是否有人有任何插件或capistrano配方可以通过在部署时或在本地部署之前构建所有页面缓存的html来“预热”rails应用程序的页面缓存。我有一些主要是静态的网站,它们变化不大,如果已经编写了html,运行速度会更快,而不是要求一位访问者访问该网站。与其自己创建它(看起来很简单,但它的优先级很低),它是否已经存在? 最佳答案 您可以使用wget或其他程序来抓取站点。事实上,这种场景在其手册页中被提及为一种用途:ThisoptiontellsWgettodeleteeverysinglefileitdownloads,af
我正在编写一个基于Ruby的守护程序,以便在我的一台Ubuntu服务器上运行。我希望它在启动时运行,因此将为它编写一个upstart作业文件。但是,我使用bundler来管理它使用的各种gem,并打算在将它部署到服务器后执行此操作:bundleinstall--deployment这会将bundler置于所谓的“部署模式”,从而设置各种选项并将所有gem安装到“供应商”目录而不是系统范围内。然而,这会在运行时产生问题,因此它必须从其自己的目录中执行,因为这是gems的最终位置:$./runmyapp如果我cd到一个不同的位置,然后尝试使用它的完整路径运行它,它会失败:$/path/to
我有几个应用程序,我想共享一些通用代码。我想gem代码并以这种方式在应用程序之间共享/版本化它,尽管我不想将它发布到公共(public)gem服务器。有哪些选项? 最佳答案 这看起来很有希望:https://github.com/cwninja/geminabox/虽然我自己没有用过,所以我不能保证。但是,我最近在官方Rubygems问答网站上看到的一个帖子中推荐了它,其中提到内置的rubygems托管不是推荐的解决方案,而Geminabox是一个不错的选择。请注意,它不具有任何身份验证或安全性(显然,通过模糊处理除外),因此根
如何解决以下警告?我将我的ruby版本更新为2.3.1,将rails版本更新为4.2.6。当我将我的应用程序推送到heroku时,我收到此警告。remote:Cleaningupthebundlercache.remote:Warning:therunningversionofBundlerisolderthantheversionthatcreatedthelockfile.WesuggestyouupgradetothelatestversionofBundlerbyrunning`geminstallbundler`.remote:Removingmime-types-dat
推送到Heroku的一个不好的方面是我必须在运行我的数据库迁移之前推送代码(并且服务器会自动重启)。这显然会导致用户在没有新表/属性的情况下浏览具有新代码的网站时出现大约500个错误:Heroku提出的解决方案是使用维护模式,但我想要一种没有缺点的方法让我的webapp运行每次!有办法吗?例如Capistrano:我准备将代码部署到新目录我运行(向后)迁移,旧代码继续完美运行我将mongrel实例切换到新目录并重新启动服务器...而且我没有停机时间! 最佳答案 您可以设置第二个Heroku应用程序,它指向与主要生产应用程序相同的数据
我有一个Rails3.0.9应用程序,一旦部署,就会遇到一堆ActiveModel::MissingAttributeErrors,这些错误会突然出现并导致500秒。错误相当随机地发生,有时页面会加载,有时不会,但属性都是数据库中的现有属性,应该可以找到。奇怪的是,一段时间后,错误消失了。突然之间,它们不再引起问题。我已经搜索过这个问题的解决方案,但这个错误主要发生在有人完成Model.all(:select=>'column_x,column_y')并调用column_z或者当他们使用cache_money时。这些我都没有做。有人能帮忙吗? 最佳答案
我的sshkey绝对设置正确,因为在使用ssh时我从未被提示输入密码。但是capistrano在使用capdeploy部署时仍然要求输入密码。但是,奇怪的是,当我使用capdeploy:setup进行设置时,它并不要求输入密码。如果没有密码提示,这将使部署周期更加顺畅。细节:我正在将Sinatra应用程序部署到Dreamhost共享帐户(使用Passenger)。很久以前我就按照教程做了,当时效果很好。从那以后有些东西坏了。我正在使用capistrano(2.5.9)和git版本1.6.1.1。这是我的Capfile:load'deploy'ifrespond_to?(:namespa